package com.jinyi.wwdeng.ui.steps.contract

import com.jinyi.base.mvp.IBasePresenter
import com.jinyi.base.mvp.IBaseView
import org.json.JSONObject

/**
 * JinYiTest
 * @Author wwdeng
 * @CreateTime: 2024/4/29 11:28
 * @Annotation：契约接口
 */
interface StepListContract {

    /**
     * model 层接口类
     */
    interface Model {

        /**
         * 获取总流程
         */
        fun getStepListData()

        /**
         * 提交流程数据
         */
        fun onSubmitStepAction(params: JSONObject)

    }

    /**
     * view 层接口类
     */
    interface View : IBaseView {
        /**
         * 显示所有流程列表
         */
        fun showStepTabList(dataList: ArrayList<JSONObject>, selectIndex: Int)

        /**
         * 流程提交成功
         */
        fun showStepSubmitSuccess()

        /**
         * 显示通用样式
         */
        fun showCommonInfoPage(data: JSONObject)

        /**
         * 显示contact样式
         */
        fun showContactInfoPage(data: JSONObject)

        /**
         * 显示证件照样式
         */
        fun showOcrInfoPage()

        /**
         * 显示人脸拍照样式
         */
        fun showSelfieInfoPage()

        /**
         * 显示绑定账号样式（法语）
         */
        fun showAccountInfoFrenchPage()

        /**
         * 所有流程已完成，进入贷款申请页面
         */
        fun showCreditApplyPage()
    }

    /**
     * presenter 层接口类
     */
    interface Presenter: IBasePresenter {
        /**
         * 设置流程数据
         */
        fun setStepListData(data: JSONObject)
        /**
         * 提交流程数据成功
         */
        fun onSubmitStepSuccess(data: JSONObject)

    }
}